Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

last-mile latency: scamper version #32

Merged
merged 4 commits into from
Feb 28, 2023
Merged

last-mile latency: scamper version #32

merged 4 commits into from
Feb 28, 2023

Conversation

jesteria
Copy link
Member

Changes

  • completed last-mile latency measurement: scamper trace version

    Adds both task lml (executable netrics-lml) and task alias
    lml-scamper (netrics-lml-scamper) for clarity.

    This version of the measurement is added to the default configuration
    but commented out as it may not be enabled by default.

    For speed and niceness, this lml test will randomly select an endpoint
    to trace, from a default set of Google DNS as well as CloudFlare DNS.
    (The former is generally speedier to respond; regardless, it might be
    "nice" to round-robin, and for that matter to fall back in the event of
    response failure.)

    Otherwise:

    Measurements' schedules in default configuration now use hashed cron
    expressions to discourage their collision (though any which may not
    run concurrently will be configured as such).

    completes initial draft of last mile latency test #13

    part of built-in measurements #3

  • extended measurement task utilities to simplify/DRY tasks

    in use now by ping latency measurement:

    • basic input parameter schema for global and individual configuration
      of measurements' result outputs -- via netrics.task.schema.extend

    • helpers for measurement tasks' individual schema definitions:
      netrics.task.schema

    • decorator for retrieval of tasks' input parameters:
      netrics.task.param.require

    • software-default set of ping connectivity/latency targets:
      netrics.measurement.common.default

    for future use by other measurements:

    • internet connectivity-checking decorator:
      netrics.measurement.common.require_net

    • parallelized domain name resolution helper:
      netrics.measurement.common.AddressLookups

Replaces #13

Part of #25

kyle-macmillan and others added 4 commits February 15, 2023 17:40
in use now by ping latency measurement:

* basic input parameter schema for global and individual configuration
  of measurements' result outputs -- via `netrics.task.schema.extend`

* helpers for measurement tasks' individual schema definitions:
  `netrics.task.schema`

* decorator for retrieval of tasks' input parameters:
  `netrics.task.param.require`

* software-default set of ping connectivity/latency targets:
  `netrics.measurement.common.default`

for future use by other measurements:

* internet connectivity-checking decorator:
  `netrics.measurement.common.require_net`

* parallelized domain name resolution helper:
  `netrics.measurement.common.AddressLookups`
Adds both task `lml` (executable `netrics-lml`) and task alias
`lml-scamper` (`netrics-lml-scamper`) for clarity.

This version of the measurement is added to the default configuration
but commented out as it may not be enabled by default.

For speed and niceness, this lml test will randomly select an endpoint
to trace, from a default set of Google DNS as well as CloudFlare DNS.
(The former is generally speedier to respond; regardless, it might be
"nice" to round-robin, and for that matter to fall back in the event of
response failure.)

Otherwise:

Measurements' schedules in default configuration now use hashed cron
expressions to *discourage* their collision (though any which *may not*
run concurrently will be configured as such).

completes #13

part of #3
@jesteria jesteria added this to the Beta milestone Feb 28, 2023
@jesteria jesteria self-assigned this Feb 28, 2023
@jesteria jesteria merged commit b7261d9 into main Feb 28, 2023
@jesteria jesteria deleted the jsl/lml branch February 28, 2023 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants